package com.ctshk.rpc.order.tour.req;

import com.alibaba.fastjson.JSON;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 系列团游客签证记录
 */
@Data
@ApiModel(value = "系列团游客签证记录出签批量Req", description = "系列团游客签证记录出签批量Req")
public class SeriesOrderTouristVisaOutBatchReq implements Serializable {

    @NotNull(message = "订单ID不能为空")
    @ApiModelProperty(value = "所属订单",required = true)
    private Long orderId;

    @NotNull(message = "出签状态不能为空")
    @ApiModelProperty(value = "出签状态 1, 出签成功 2, 出签失败",required = true)
    private Integer signOutStatus;

    @NotNull(message = "游客ID集合不能为空")
    @ApiModelProperty(value = "游客ID集合",required = true)
    private List<Long> touristIdList;

    @ApiModelProperty(value = "出签运单号")
    private String signOutTrackingNumber;

    @ApiModelProperty(value = "出签快递时间")
    private LocalDateTime signOutExpressTime;

    @ApiModelProperty(value = "出签回执文件")
    private String signOutReceiptFile;

    @ApiModelProperty(value = "出签签证文件JSON")
    private String signOutFilesJson;

    @ApiModelProperty(value = "出签签证文件JSON")
    private List<String> signOutFilesJsonList;

    @ApiModelProperty(value = "用户Id")
    private Long userId;

    public String getSignOutFilesJson() {
        this.signOutFilesJson = JSON.toJSONString(signOutFilesJsonList);
        return signOutFilesJson;
    }
}
